package high.concurrent.service;

import high.concurrent.request.AddCartRequest;
import high.concurrent.utils.JsonData;

import java.util.List;

public interface CartService {

    /**
     * 添加购物车
     * @param addCartRequest   购物车信息
     * @return
     */
    JsonData addCart(AddCartRequest addCartRequest);

    /**
     * 清空购物车
     * @return
     */
    void deleteCart();

    /**
     * 查询购物车
     * @return
     */
    JsonData selectCart();

    /**
     * 删除某个购物项
     * @param productId 商品id
     * @return
     */
    void deleteCartItem(Long productId);

    /**
     * 修改某个购物项数量
     * @param  addCartRequest   商品id , 数量
     * @return
     */
    void updateCartItemCount(AddCartRequest addCartRequest);

    /**
     * 获取购物车商品项的最新价格，并删除对应购物车商品
     * @param productIdList
     * @return
     */
    JsonData getCartItemLatestPrice(List<Long> productIdList);
}
